package com.ruoyi.product.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品任务对象 product_task
 *
 * @author 林道敬
 * @date 2025-01-06
 */

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("product_task")
public class ProductTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    /** $column.columnComment */
    private long id;

    /** 商品id */
    @Excel(name = "商品id")
    private Long productId;

    /** 购买数量 */
    @Excel(name = "购买数量")
    private Long buyNum;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String productName;

    /** 锁定状态锁定LOCK  完成FINISH-取消CANCEL */
    @Excel(name = "锁定状态锁定LOCK  完成FINISH-取消CANCEL")
    private String lockState;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String outTradeNo;

    public void setId(long id)
    {
        this.id = id;
    }

    public long getId()
    {
        return id;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setBuyNum(Long buyNum)
    {
        this.buyNum = buyNum;
    }

    public Long getBuyNum()
    {
        return buyNum;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setLockState(String lockState)
    {
        this.lockState = lockState;
    }

    public String getLockState()
    {
        return lockState;
    }
    public void setOutTradeNo(String outTradeNo)
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo()
    {
        return outTradeNo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("buyNum", getBuyNum())
            .append("productName", getProductName())
            .append("lockState", getLockState())
            .append("outTradeNo", getOutTradeNo())
            .append("createTime", getCreateTime())
            .toString();
    }
}
